package com.fau.hm.service;

import java.util.List;
import java.util.Map;

import com.fau.hm.entity.MedicalAdmin;
import com.fau.hm.entity.MedicalResource;
import com.fau.hm.entity.MedicalRole;
import com.fau.hm.util.Page;

/**
 * @desc 角色Service接口
 * @author dangjh
 * @datetime 2014年10月15日,下午6:16:38
 */
public interface IRoleManagerService {

	/**
	 * @desc 查询所有角色列表
	 * @param map
	 * @param role
	 * @return
	 * @author dangjh
	 * @datetime 2014年10月12日,下午6:29:58
	 */
	public Page findRoleList(Map<String, Object> map, MedicalRole role, MedicalAdmin admin);
	
	/**
	 * @desc 保存角色信息
	 * @param role
	 * @return
	 * @author dangjh
	 * @datetime 2014年10月15日,下午6:19:36
	 */
	public boolean saveRole(MedicalRole role, MedicalAdmin admin);
	
	/**
	 * @desc 保存编辑的角色信息
	 * @param role
	 * @return
	 * @author dangjh
	 * @datetime 2014年10月15日,下午6:20:20
	 */
	public boolean saveEditRole(MedicalRole role);
	
	/**
	 * @desc 删除角色信息
	 * @param role
	 * @author dangjh
	 * @datetime 2014年10月15日,下午6:21:06
	 */
	public void delRole(MedicalRole role);
	
	/**
	 * @desc 判断此角色下是否包含用户
	 * @param roleId
	 * @author dangjh
	 * @datetime 2014年10月15日,下午8:41:06
	 */
	public boolean includeUser(String roleId);
	
	/**
	 * @desc 查询所有系统资源信息
	 * @return List<MedicalResource>
	 * @author dangjh
	 * @datetime 2014年11月27日 下午10:43:26
	 */
	public List<MedicalResource> findAllResource();
	
	/**
	 * @desc 保存角色分配的资源
	 * @param role
	 * @return
	 * @author dangjh
	 * @datetime 2014年11月29日 下午12:04:27
	 */
	public boolean saveRoleResource(MedicalRole role, String resourceIds);
	
	/**
	 * @desc 查询角色对应的资源
	 * @param roleId
	 * @return
	 * @author dangjh
	 * @datetime 2014年12月1日 下午5:19:06
	 */
	public List<String> findByRoleId(String roleId);
	
	/**
	 * @desc 判断角色是否存在
	 * @param eid
	 * @param name
	 * @return boolean
	 * @author dangjh
	 * 2014年12月24日 下午5:05:17
	 */
	public boolean includeRole(String eid, String name);
}
